package zzs.generalframework.console.core.parameter.commonparameter.nationality.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.nationality.NationalityBO;
import zzs.generalframework.common.core.parameter.commonparameter.nationality.NationalityInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.nationality.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface INationalityService
{

	/**
	 * 保存民族信息
	 *
	 * @param nationality
	 * @return
	 */
	public ConsoleReturnBO saveNationality(NationalityBO nationalityBO);

	/**
	 * 保存民族信息列表
	 *
	 * @param nationalityBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveNationality(List<NationalityBO> nationalityBOList) throws ConsoleException;

	/**
	 * 获取民族信息
	 *
	 * @param nationalityInfo
	 * @return
	 */
	public ConsoleReturnBO getNationality(NationalityInfo nationalityInfo);

	/**
	 * 获取民族信息列表
	 *
	 * @param nationalityInfo
	 * @return
	 */
	public ConsoleReturnBO listNationality(NationalityInfo nationalityInfo);

	/**
	 * 更新民族信息
	 *
	 * @param nationalityBO
	 * @return
	 */
	public ConsoleReturnBO updateNationality(NationalityBO nationalityBO);

	/**
	 * 更新民族信息列表
	 *
	 * @param nationalityBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateNationality(List<NationalityBO> nationalityBOList) throws ConsoleException;

	/**
	 * 删除民族信息
	 *
	 * @param nationalityBO
	 * @return
	 */
	public ConsoleReturnBO removeNationality(NationalityBO nationalityBO);

	/**
	 * 删除民族信息列表
	 *
	 * @param nationalityBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeNationality(List<NationalityBO> nationalityBOList) throws ConsoleException;

	/**
	 * 统计民族信息
	 *
	 * @param nationalityBO
	 * @return
	 */
	public Long countNationality(NationalityBO nationalityBO);

}
